﻿using System;
using System.Collections.Generic;
using Autodesk.Revit.DB;

namespace YJKCoordinate
{
	public class BoundryCurvePakcer
	{
		public BoundryCurvePakcer(XYZ startPoint, XYZ endPoint, List<Curve> lstBoundryCurves, bool ifCorner, double[] valueParams)
		{
			this.startPoint = startPoint;
			this.endPoint = endPoint;
			this.ifCorner = ifCorner;
			this.lstBoundryCurves = lstBoundryCurves;
			this.deep = valueParams[0];
			this.thickness = valueParams[1];
			this.flateWidth = valueParams[2];
			this.familyFileIndex = (int)valueParams[3];
			this.m_dOffsetValue = valueParams[4];
		}

		public double Deep
		{
			get
			{
				return this.deep;
			}
		}

		internal double Thickness
		{
			get
			{
				return this.thickness;
			}
		}

		internal double FlateWidth
		{
			get
			{
				return this.flateWidth;
			}
		}

		internal int FamilyFileIndex
		{
			get
			{
				return this.familyFileIndex;
			}
		}

		public XYZ GetPoint(int index)
		{
			if (index == 0)
			{
				return this.startPoint;
			}
			return this.endPoint;
		}

		internal bool IfCorner
		{
			get
			{
				return this.ifCorner;
			}
		}

		public List<Curve> LstBoundryCurves
		{
			get
			{
				return this.lstBoundryCurves;
			}
		}

		public double OffsetValue
		{
			get
			{
				return this.m_dOffsetValue;
			}
		}

		private XYZ startPoint;

		private XYZ endPoint;

		private List<Curve> lstBoundryCurves;

		private bool ifCorner;

		private double deep;

		private double thickness;

		private double flateWidth;

		private double m_dOffsetValue;

		private int familyFileIndex;
	}
}
